#! /usr/bin/env python
# -*- coding:utf-8 -*-

print('字符串常用操作方法')


'''
str特有的：
得到str类型
（1）str类型转换成大写或则小写
（2）去掉str前后的空白
（3）字符串替换
得到bool类型
（1）是否是数字
得到数组
（1）字符串切割
共有的：
（1）计算长度 len()
（2）索引
（3）切片，切片就是截取字符串
（4）步长
'''

# upper lower，都会产生新的字符串，原字符串不会变化
value = 'clyang'
new_value = value.upper()
print(value)
print(new_value)

# 大小写转换可以登录时用于验证码验证
# code = 'HIuf'
# message = '请输入验证码%s' % (code,)
# input_code = input(message)
# if input_code.upper() == code.upper():
#     print('登录成功')
# else:
#     print("登录失败")

# startwith endwith 判断是否以某个字符开头或结尾
print(value.startswith('c'))
print(value.startswith('cl'))
print(value.endswith('g'))

# 验证是否为数字
# while True:
#     num=input('请选择服务')
#     flag=num.isdigit()
#     if flag:
#         num=int(num)
#         print(num)
#     else:
#         print('请输入数字')


# stip去除空白，空格 \t \n、rstrip右，lstrip左
# 去除字符右边空白
var = 'clyang   '
right_new_var = var.rstrip()
print(var)
print(right_new_var)

# 去除字符左边空白
var = '   clyang'
left_new_var = var.lstrip()
print(left_new_var)

# 去除两边的空白
var = '   clyang   '
all_new_var = var.strip()
print(all_new_var)

# 可以去掉指定字符
var = 'abc我靠abc'
print(var)
new_var=var.strip('abc')
print(new_var)

# replace 字符串替换
var = '去你大爷的'
new_var = var.replace('大爷', '**')
print(new_var)

var = '去你大爷的大爷SB大爷'
new_var = var.replace('大爷', '**', 2)
print(new_var)

# 字符串没有左右替换

# split 字符串切割
var = '去你,大爷的,大爷,SB'
# new_var = var.split(',') # 全部切割
new_var = var.split(',', 1)  # 只按第一个分隔符来切分
print(new_var,type(new_var))
print(var)

# 字符串从右边开始切割
var = '去你,大爷的,大爷,SB'
new_var = var.rsplit(',', 1)
# new_var = var.rsplit(',')
print(new_var)


# join 非常好用的，列表转换成字符串，但是要求列表里全是字符
var=['clyang','messi','ronald']
new_var=':'.join(var)
print(new_var,type(new_var)) # clyang:messi:ronald

# count 可以计算字符出现的次数
var='abagoghohgoghoghgohg'
print(var.count('a')) # 2

# is的使用
var ='1000①'
print(var.isdigit()) # True
print(var.isdecimal()) # False

num=input("请输入金额")
if num.isdecimal():
    print(int(num))
else:
    print("输入错误")

print(var.isalpha()) #False
print(var.isalnum()) #True



# 计算字符串长度
count = len('123456')
print(count)

# 获取用户输入的任意字符串，获取字符串之后计算有多少个数字
# var=input('请输入任意字符')
# str_length=len(var)
# count=0
# sum=0
# while count<str_length:
#     sub_var=var[count]  # 使用了索引
#     flag=sub_var.isdigit()
#     if flag:
#         sum+=1
#     count+=1
# print('输入的数字有:'+str(sum))

# 切片，截取字符串，跟java类似，是前包括后不包括
var = 'clyang'
sub_var = var[0:1]  # c
sub_var_1 = var[0:2]  # cl
sub_var_2 = var[2:]  # yang
sub_var_3 = var[:-1]  # clyan
sub_var_4 = var[-3:-1]  # an

print(sub_var_1)
print(sub_var_2)
print(sub_var_3)
print(sub_var_4)


